32 research outputs found
SUNNY-CP and the MiniZinc Challenge
In Constraint Programming (CP) a portfolio solver combines a variety of
different constraint solvers for solving a given problem. This fairly recent
approach enables to significantly boost the performance of single solvers,
especially when multicore architectures are exploited. In this work we give a
brief overview of the portfolio solver sunny-cp, and we discuss its performance
in the MiniZinc Challenge---the annual international competition for CP
solvers---where it won two gold medals in 2015 and 2016. Under consideration in
Theory and Practice of Logic Programming (TPLP)Comment: Under consideration in Theory and Practice of Logic Programming
(TPLP
A Multicore Tool for Constraint Solving
*** To appear in IJCAI 2015 proceedings *** In Constraint Programming (CP), a
portfolio solver uses a variety of different solvers for solving a given
Constraint Satisfaction / Optimization Problem. In this paper we introduce
sunny-cp2: the first parallel CP portfolio solver that enables a dynamic,
cooperative, and simultaneous execution of its solvers in a multicore setting.
It incorporates state-of-the-art solvers, providing also a usable and
configurable framework. Empirical results are very promising. sunny-cp2 can
even outperform the performance of the oracle solver which always selects the
best solver of the portfolio for a given problem
A Regular Matching Constraint for String Variables
Using a regular language as a pattern for string matching is nowadays a common-and sometimes unsafe-operation, provided as a built-in feature by most programming languages. A proper constraint solver over string variables should support most of the operations over regular expressions and related constructs. However, state-of-the-art string solvers natively support only the membership relation of a string variable to a regular language. Here we take a step forward by defining a specialised propagator for the match operation, returning the leftmost position where a pattern can match a given string. Empirical evidences show the effectiveness of our approach, implemented within the constraint programming framework, and tested against state-of-the-art string solvers.</p
An Extensive Evaluation of Portfolio Approaches for Constraint Satisfaction Problems
In the context of Constraint Programming, a portfolio
approach exploits the complementary strengths of a portfolio of
different constraint solvers. The goal is to predict and run the best
solver(s) of the portfolio for solving a new, unseen problem. In
this work we reproduce, simulate, and evaluate the performance
of different portfolio approaches on extensive benchmarks of
Constraint Satisfaction Problems. Empirical results clearly show
the benefits of portfolio solvers in terms of both solved instances
and solving time
SUNNY: a Lazy Portfolio Approach for Constraint Solving
*** To appear in Theory and Practice of Logic Programming (TPLP) ***
Within the context of constraint solving, a portfolio approach allows one to
exploit the synergy between different solvers in order to create a globally
better solver. In this paper we present SUNNY: a simple and flexible algorithm
that takes advantage of a portfolio of constraint solvers in order to compute
--- without learning an explicit model --- a schedule of them for solving a
given Constraint Satisfaction Problem (CSP). Motivated by the performance
reached by SUNNY vs. different simulations of other state of the art
approaches, we developed sunny-csp, an effective portfolio solver that exploits
the underlying SUNNY algorithm in order to solve a given CSP. Empirical tests
conducted on exhaustive benchmarks of MiniZinc models show that the actual
performance of SUNNY conforms to the predictions. This is encouraging both for
improving the power of CSP portfolio solvers and for trying to export them to
fields such as Answer Set Programming and Constraint Logic Programming
Portfolio Approaches in Constraint Programming
Recent research has shown that the performance of a single, arbitrarily efficient algorithm can be significantly outperformed by using a portfolio of —possibly on-average slower— algorithms. Within the Constraint Programming (CP) context, a portfolio solver can be seen as a particular constraint solver that exploits the synergy between the constituent solvers of its portfolio for predicting which is (or which are) the best solver(s) to run for solving a new, unseen instance.
In this thesis we examine the benefits of portfolio solvers in CP. Despite portfolio approaches have been extensively studied for Boolean Satisfiability (SAT) problems, in the more general CP field these techniques have been only marginally studied and used. We conducted this work through the investigation, the analysis and the construction of several portfolio approaches for solving both satisfaction and optimization problems. We focused in particular on sequential approaches, i.e., single-threaded portfolio solvers always running on the same core.
We started from a first empirical evaluation on portfolio approaches for solving Constraint Satisfaction Problems (CSPs), and then we improved on it by introducing new data, solvers, features, algorithms, and tools. Afterwards, we addressed the more general Constraint Optimization Problems (COPs) by implementing and testing a number of models for dealing with COP portfolio solvers. Finally, we have come full circle by developing sunny-cp: a sequential CP portfolio solver that turned out to be competitive also in the MiniZinc Challenge, the reference competition for CP solvers
A Constraint-Based Model for Fast Post-Disaster Emergency Vehicle Routing
Disasters like terrorist attacks, earthquakes, hurricanes, and volcano eruptions are usually unpredictable events that affect a high number of people. We propose an approach that could be used as a decision support tool for a post-disaster response that allows the assignment of victims to hospitals and organizes their transportation via emergency vehicles. By exploiting the synergy between Mixed Integer Programming and Constraint Programming techniques, we are able to compute the routing of the vehicles so as to rescue much more victims than both heuristic based and complete approaches in a very reasonable time
sunny-as2: Enhancing SUNNY for Algorithm Selection
SUNNY is an Algorithm Selection (AS) technique originally tailored for
Constraint Programming (CP). SUNNY enables to schedule, from a portfolio of
solvers, a subset of solvers to be run on a given CP problem. This approach has
proved to be effective for CP problems, and its parallel version won many gold
medals in the Open category of the MiniZinc Challenge -- the yearly
international competition for CP solvers. In 2015, the ASlib benchmarks were
released for comparing AS systems coming from disparate fields (e.g., ASP, QBF,
and SAT) and SUNNY was extended to deal with generic AS problems. This led to
the development of sunny-as2, an algorithm selector based on SUNNY for ASlib
scenarios. A preliminary version of sunny-as2 was submitted to the Open
Algorithm Selection Challenge (OASC) in 2017, where it turned out to be the
best approach for the runtime minimization of decision problems. In this work,
we present the technical advancements of sunny-as2, including: (i)
wrapper-based feature selection; (ii) a training approach combining feature
selection and neighbourhood size configuration; (iii) the application of nested
cross-validation. We show how sunny-as2 performance varies depending on the
considered AS scenarios, and we discuss its strengths and weaknesses. Finally,
we also show how sunny-as2 improves on its preliminary version submitted to
OASC